#ifndef objecth
#define objecth
#include "include/SDL.h"
#include <string>
using namespace std;

class mapobject
{
public:
double x;
double y;
mapobject(int x, int y);
~mapobject(){}
};

class graphical
{
SDL_Surface* _surface;
int _xCenter; // x and y of pixel to be sticked to the center of a cell
int _yCenter;
bool _visible;
public:
graphical(string spriteName, Uint32 rgbKey, bool visible, int xMatch, int yMatch);
~graphical();
SDL_Surface* GetSurface();
int GetXMatch();
int GetYMatch();
bool IsVisible();
};

class gameobject:public mapobject, public graphical
{
public:
double destX;
double destY;
double speed;
bool shouldMove;
bool controlled;
gameobject(int x, int y, string spriteName, Uint32 rgbKey, bool visible, int xMatch, int yMatch, int destX, int destY, bool shouldMove, bool controlled, double speed) : mapobject(x, y), graphical(spriteName, rgbKey, visible, xMatch, yMatch)
{
	gameobject::destX=destX;
	gameobject::destY=destY;
	gameobject::shouldMove=shouldMove;
	gameobject::controlled=controlled;
	gameobject::speed=speed;
}
~gameobject() {}
};
/*
class sound
{

};
*/
#endif
